#include<iostream>
#include<vector>
#include<fstream>
#include<sstream>
using namespace std;

void typefile(vector<vector<int> > &v)
{
        ifstream f("input1.txt");
        string s;
        int i=0;
        while(getline(f,s))
        {
                v.resize(i+1);
                stringstream ss(s);
                int a=0;
                while(ss >> a)
                        v[i].push_back(a);
                i++;
        }
}

void printmas(vector<vector<int> > &v)
{
        for(int i=0;i<v.size();i++)
        {
                for (int j=0;j<v[i].size();j++)
                {
                        cout << v[i][j] << " ";
                }
                cout << endl;
        }
}

void magic(vector<vector<int> >&v)
{
	bool m=true;
	int i=0;
	int j=0;
	int s=0;
	int sum=0;
	for(;i<v.size();i++)
	{
		sum=sum+v[i][0];
	}
	for(i=0;i<v.size();i++)
        {
		s=0;
                for (j=0;j<v[i].size();j++)
                {
			s=s+v[i][j];
                }
                if(s!=sum)
		{
			m=false;
		}
	}	
	for(i=0;i<v.size();i++)
        {
		s=0;
		for (j=0;j<v[i].size();j++)
	  	{
	          	s=s+v[j][i];
                }
        	if(s!=sum)
          	{	
                  	m=false;
          	}
        }
	s=0;
	for (i=0;i<v.size();i++)
        {
           	s=s+v[i][i];
     	}
      	if(s!=sum)
        {
            	m=false;                    	
	}
	s=0;
        for (i=0;i<v.size();i++)
        {
                s=s+v[i][v.size()-i-1];
        }       
        if(s!=sum)
        {
                m=false;
        }

	if(m==true)
		cout << "магический квадрат" << endl;
	else
		cout << "немагический квадрат" << endl;
}

vector<vector<int> > v;

int main(int,char**)
{
        typefile(v);
        printmas(v);
	magic(v);
}

